package org.example.servicefaculty.service;

import com.baomidou.mybatisplus.extension.service.IService;
import org.example.model.manage.bean.po.Counselor;
import java.util.List;

import org.example.model.manage.bean.vo.CounselorWithMajorVO;

public interface CounselorService extends IService<Counselor> {

    List<Counselor> getCounselorListByFacultyId(Integer facultyId);

    Counselor getCounselorById(Integer counselorId);

    Boolean createCounselor(Counselor counselor);

    Boolean updateCounselor(Counselor counselor);

    List<Counselor> getByFacultyId(Integer facultyId);

    Boolean updateCounselorMajor(Integer majorId, List<Integer> counselorIds);

    /**
     * 更新辅导员负责的专业列表
     * @param counselorId 辅导员ID
     * @param majorIds 专业ID列表
     * @return 更新结果
     */
    Boolean updateCounselorMajors(Integer counselorId, List<Integer> majorIds);

    /**
     * 获取本学院下各个专业的辅导员信息
     * @param facultyId 学院ID
     * @return 包含专业信息的辅导员列表
     */
    List<CounselorWithMajorVO> getCounselorWithMajorByFacultyId(Integer facultyId);
}